const { User } = require('../../model/user.js');
// 密码加密：引用bcrypt第三方模块
const bcrypt = require('bcryptjs');
// 实现token的生成和解析
const jwt = require("jsonwebtoken");

module.exports = async (req, res) => {
  // 获取post参数
  // console.log(req.fields);
  const { username, password } = req.fields

  // 查询用户是否存在
  let user = await User.findOne({ username: username });
  if (!user) {
    res.send({ 'code': 1 });
  }

  // 查询密码是否正确
  let isValidate = await bcrypt.compare(password, user.password);
  if (!isValidate) {
    res.send({ 'code': 1 });
  }

  // 生成token
  // 第一个参数是组，第二个参数是私钥
  const token = jwt.sign({ username }, 'xiaofenfang');
  console.log(token)
  res.status(200).send({
    data: {
      token,
      userInfo: {
        id: user._Id,
        username
      }
    },
    code: 0
  })
}